package com.example.recordingpen_datacollection.AIBDText;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
  
public class LimitedSizeList<T> extends ArrayList<T> {
    private int maxSize;  
  
    public LimitedSizeList(int maxSize) {  
        this.maxSize = maxSize;  
    }  
  
    @Override  
    public boolean add(T element) {  
        if (size() >= maxSize) {  
            remove(0); // 删除最前面的元素  
        }  
        return super.add(element); // 添加新元素  
    }  
  
    // 如果你需要保持List的其他方法不变，可以继续覆盖其他方法  
    // 例如add(int index, E element)方法也可以被覆盖以保持一致性  
  
    // 这里只是作为演示，没有覆盖其他所有可能改变列表大小的方法  
  
    // 可以添加其他有用的方法或功能  
    // ...  
  
    // 示例用法  
    public static void main(String[] args) throws InterruptedException {
        LimitedSizeList<String> list = new LimitedSizeList<>(60);
        for (int i = 0; i < 60; i++) {

            Thread.sleep(1000);
            Date date = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String currentTime = sdf.format(date);
//            System.out.println(list); // 打印当前列表的内容

            list.add("data: " + currentTime);
        }
        for (String s : list) {
            System.out.println(s);
        }
        System.out.println(list.get(0).toString());
        System.out.println(list.get(list.size()-1).toString());

    }



}